package com.zhan.ielts.service;

import java.util.List;

import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import com.zhan.frame.core.dao.BaseService;
import com.zhan.ielts.domain.Paragraph;
import com.zhan.ielts.domain.ParagraphWord;
import com.zhan.ielts.domain.WordCategory;
import com.zhan.ielts.domain.WordScene;
import com.zhan.ielts.domain.query.ParagraphWordQuery;
import com.zhan.ielts.domain.vo.ParagraphWordVo;

public interface ParagraphWordService extends BaseService<ParagraphWord> {
	public List<String> getType(ParagraphWordQuery query);

	public List<String> getPassage(ParagraphWordQuery query);

	public void saveScene(String word, String subject, String category, String paragraphId, String translation);

	public List<WordScene> queryScene(WordScene wordScene);

	public void saveCategory(WordCategory wordCategory);

	public List<WordCategory> queryCategory(WordCategory wordCategory);

	public PageImpl<ParagraphWordVo> queryPageListCustom(ParagraphWordQuery query, Pageable pageable);

	public Integer queryCountSeqNo(ParagraphWordQuery query);

	public void updateSeqNo(ParagraphWord entity);

	public Long queryWordCount(ParagraphWordQuery query);

	public void importLevel(String word, String category);

	public void importTranslation(String word, String wordTranslation, String wordClass);

	public void updateWordCategory(MultipartFile file);

	public void handleSentenceWord();

	public void uploadCET4Word(MultipartFile file);

	public void uploadExToeflWord(MultipartFile file);

	public void uploadCET6Word(MultipartFile file);

	// ************** new add or updated
	public void updateWordSeqNoBatch();

	public void updateWordSeqNoBatchRaw();

	public void highLightFix();

	public void updateWordIeltsExamType(String filepath);

	@SuppressWarnings("rawtypes")
	public List getEditSceneView(String word, String page, String wordQuary, String categoryQuery,
			String subjectQuery);

}
